iT邦幫忙

2024 iThome 鐵人賽

DAY 14
0
IT 管理

API Gateway:微服務世界的守護者系列 第 14

Day 14 - 架構&服務之間

  • 分享至 

  • xImage
  •  

說明跨 cluster 打服務的南北向概念。
跨 cluster 打服務 (Cross-Cluster Service Invocation)
這指的是在分散式系統中,一個服務(Service)需要呼叫另一個位於不同 cluster(叢集)的服務,以完成某項任務。這種跨 cluster 的互動,通常涉及到複雜的網路配置、服務發現、以及容錯機制。
南北向 (North-South Traffic)

  • 概念:
    • 北:代表外部用戶或系統。
    • 南:代表內部服務。
    • 南北向流量:指外部用戶或系統與內部服務之間的通信。
    • 跨 cluster 打服務 就是一種典型的南北向流量,因為外部用戶或系統可能通過一個 cluster 的入口點,來呼叫另一個 cluster 深處的服務。
  • 圖示:
  • 示例:
    • 電子商務系統:
      • 外部用戶 (北) 透過瀏覽器,向購物網站 (cluster A) 發送請求。
      • 購物網站 (cluster A) 需要呼叫支付服務 (cluster B) 來處理付款。
      • 支付服務 (cluster B) 可能又會呼叫其他服務 (如風險評估服務) 來完成交易。
        為什麼需要跨 cluster 打服務?
  • 服務拆分: 將大型應用程式拆分成小型的、獨立的服務,可以提高系統的靈活性、可擴展性,以及容錯性。
  • 分散式系統: 為了提高系統的可用性,服務通常會部署在不同的 cluster 上。
  • 微服務架構: 微服務架構強調服務的獨立性,不同服務之間的通信通常是跨 cluster 的。
    跨 cluster 打服務的挑戰
  • 網路延遲: 跨 cluster 的網路通信通常會比同一個 cluster 內的通信延遲更大。
  • 服務發現: 需要一個有效的服務發現機制,讓服務能夠找到其他服務的位置。
  • 容錯: 需要考慮服務故障、網路故障等情況,確保系統的可靠性。
    解決方案
  • 服務網格 (Service Mesh):
    • 提供服務發現、流量管理、安全等功能,簡化跨 cluster 打服務的複雜性。
    • Istio 是目前最流行的服務網格之一。
  • API Gateway:
    • 作為系統的入口,統一管理外部請求,並將請求路由到後端的服務。
  • 分布式跟踪系統 (Distributed Tracing):
    • 追蹤請求在不同服務之間的流轉過程,幫助定位問題。
    • Jaeger, Zipkin 是常用的分布式跟踪系統。
  • 配置管理工具:
    • 管理不同 cluster 之間的配置差異。
  • 容錯機制:
    • 採用重試、斷路器、降級等機制,提高系統的容錯能力。
      總結
      跨 cluster 打服務是分散式系統中常見的交互模式。通過了解南北向流量的概念,以及相關的技術和挑戰,可以更好地設計和實現高性能、高可用的分散式系統。

關鍵字:

  • Service Mesh
  • API Gateway
  • 微服務架構
  • 分布式系統
  • 服務發現
  • 容錯機制

上一篇
Day 13 single failure
下一篇
Day 15 - Kubernetes FQDN
系列文
API Gateway:微服務世界的守護者24
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言